
function TriRapide(tab, gauche, droit){
    var pivot, i,j,tmp;
    i=gauche;
    j=droit;
    //pivot=Math.floor((Math.random()*j-i))+i ;
	pivot = droit;
	    do{
        while(tab[i] < tab[pivot])i++;
        while(tab[j] > tab[pivot])j--;
        if(i <=j) echange(tab,i++,j--);
    }
    while(i <=j);
document.write("<br>");
	document.write("Pivot " + pivot + " " + i + " " + j);

	document.write("<br>");
document.write(tab);
	
	document.write("<br>");
	
    if(gauche < j)TriRapide(tab,gauche,j);
    if(droit > i)TriRapide(tab,i,droit);
	
}


// changer deux elements d un tableau -----------------------
function echange(tab, i,j){
    var tmp=tab[i];
    tab[i]=tab[j];
    tab[j]=tmp;
}

//var tab =[21,5,37,42,38,62,85,32,46,6,41,1];
var tab = [4,6,1,5,2];
document.write(tab);
TriRapide(tab,0,4);
document.write("<br>");
document.write(tab);

